The Drupal 6.x menu system has a fundamentally different architecture from what was present in Drupal 5.x. This session is designed to highlight the key features of the new system, give some some detailed code examples, and maybe a little flavor of Drupal Tough Love as we scour the current contributed modules for examples of ugly, broken, or just-plain-wrong menu code. We will discuss how does Drupal 6 serves paths and render links. These two functions are now decoupled,however the fact that some links are created automatically creates a potentially confusing appearance of unity. We will discuss the different menu hooks and when they are invoked, and spend some time on the features and limitations of what you can define for a router item using hook_menu. You should be familiar with writing a hook_menu implementation and preferably the {menu_router} and {menu_links} tables to get the most of this session. Much of the content of this session will be code examples and explorations of core code. By the end we hope to help you throw off the shackles of your Drupal-5.x-based thinking about the menu system and be ready to use the features and be aware of the limitations of the Drupal 6.x menu system.